package com.gbas.model;

/**
 * User: t50
 * Date: 07-abr-2010
 * Time: 2:30:12
 */
public class Naipe {
    VALOR valor;
    PALO palo;

    public Naipe(VALOR valor, PALO palo) {
        this.valor = valor;
        this.palo = palo;
    }

    public VALOR getValor() {
        return valor;
    }

    public VALOR getValorMus() {
        if (valor == VALOR.TRES) {
            return VALOR.REY;
        } else if (valor == VALOR.DOS) {
            return VALOR.AS;
        } else {
            return valor;
        }
    }

    public void setValor(VALOR valor) {
        this.valor = valor;
    }

    public PALO getPalo() {
        return palo;
    }

    public void setPalo(PALO palo) {
        this.palo = palo;
    }

    public String nameOfImage() {
        return "x_" + palo.getCartExtension() + valor.getCartExtension() + ".jpg";
    }

    @Override
    public String toString() {
        return valor.toString() + (palo.toString().length() > 0 ? " de " + palo.toString() : "");
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Naipe naipe = (Naipe) o;

        if (palo != naipe.palo) return false;
        if (valor != naipe.valor) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = valor.hashCode();
        result = 31 * result + palo.hashCode();
        return result;
    }
}
